﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;

using Osiptel.HECO.BE;
using Osiptel.HECO.BL;

public partial class Views_General_Frm_NuevoGrupo : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //List<ItemsSubMenu> listaSubMenu = ObtenerSubMenu();
        hd_idProyecto.Value = Session["IDPROYECTO"].ToString();
    }

    [WebMethod]
    public static List<ParametroDetalleBE> ObtenerClasesByTipoSubTipo( int idTipo,int idSubTipo)
    {
        object idProyecto =HttpContext.Current.Session["IDPROYECTOs"];
        ParametroDetalleBL objParametroDetalle = new ParametroDetalleBL();
        List<ParametroDetalleBE> listaClases = new List<ParametroDetalleBE>();
        listaClases = objParametroDetalle.ObtenerClaseByTipoSubTipo(idTipo, idSubTipo);
        return listaClases;
    }

    [WebMethod]
    public static List<ComponenteBE> ObtenerItems(int idTipo, int idSubTipo, int idClase)
    {
        ComponenteBL componenteBL = new ComponenteBL();
        List<ComponenteBE> listaComponentes = new List<ComponenteBE>();
        listaComponentes = componenteBL.ObtenerComponentes(idTipo, idSubTipo,idClase);
        return listaComponentes;
    }

    [WebMethod]
    //public static int InsertAll(List<GrupoDetalleBE> gd, GrupoBE g, ProyectoGrupoBE pg)
    public static int InsertAll(GrupoBE g, ProyectoGrupoBE pg,List<GrupoDetalleBE> gd)
    {
        int resultado = 0;
        object idProyecto = HttpContext.Current.Session["IDPROYECTO"];
        String usuario ="user1";
        if(HttpContext.Current.Session["USUARIO"]!=null)
            usuario = HttpContext.Current.Session["USUARIO"].ToString();
        if (idProyecto != null)
        {
            pg.IdProyecto = Convert.ToInt32(idProyecto);
            ProyectoGrupoBL proyBL = new ProyectoGrupoBL();
            resultado = proyBL.InsertarGrupoDetalle(gd, g, pg, usuario);
        }
        
        return resultado;
    }

    [WebMethod]
    public static List<ItemsSubMenu> ObtenerSubMenu()
    {
        ParametroDetalleBL objParametroDetalle = new ParametroDetalleBL();
        List<ParametroDetalleBE> listaParametrosTipos = new List<ParametroDetalleBE>();
        TipoSubtipoBL objSubTipos = new TipoSubtipoBL();
        List<TipoSubtipoBE> listaSubTipos = new List<TipoSubtipoBE>();
        List<ItemsSubMenu> listaSubMenu = new List<ItemsSubMenu>();
        listaParametrosTipos = objParametroDetalle.ObtenerParamsById(5);
        for (int i = 0; i < listaParametrosTipos.Count; i++)
        {
            ItemsSubMenu itemMenu = new ItemsSubMenu();
            listaSubTipos = objSubTipos.ObtenerSubTipoByTipo(listaParametrosTipos[i].IdParametro);
            itemMenu.Tipo = listaParametrosTipos[i];
            itemMenu.SubTipos = listaSubTipos;
            listaSubMenu.Add(itemMenu);
        }
        return listaSubMenu;
    }

    [WebMethod]
    public static List<ComponenteBE> GetItems()
    {
        List<ComponenteBE> listaComponentes = new List<ComponenteBE>();

        return listaComponentes;
    }

    public class ItemsSubMenu {
        public ParametroDetalleBE Tipo { get; set; }
        public List<TipoSubtipoBE> SubTipos { get; set; }
    }
}